/*
 * Copyright © 2018 www.noark.xyz All Rights Reserved.
 * 
 * 感谢您选择Noark框架，希望我们的努力能为您提供一个简单、易用、稳定的服务器端框架 ！
 * 除非符合Noark许可协议，否则不得使用该文件，您可以下载许可协议文件：
 * 
 * 		http://www.noark.xyz/LICENSE
 *
 * 1.未经许可，任何公司及个人不得以任何方式或理由对本框架进行修改、使用和传播;
 * 2.禁止在本项目或任何子项目的基础上发展任何派生版本、修改版本或第三方版本;
 * 3.无论你对源代码做出任何修改和改进，版权都归Noark研发团队所有，我们保留所有权利;
 * 4.凡侵犯Noark版权等知识产权的，必依法追究其法律责任，特此郑重法律声明！
 */
package xyz.noark.game.loader;

import xyz.noark.core.util.ClassUtils;

/**
 * Noark应用启动入口包装类.
 * <p>
 * 一个特殊的功能，风格参考SpringBoot，却又不完全一样...
 * 
 * @since 3.3.4
 * @author 小流氓(176543888@qq.com)
 */
public final class NoarkLauncher {

	// --------------------美女保佑，永无Bug，不改需求，早点下班--------------------------------

	// ...............8888:::8888888888888888888888888
	// .............8888::::::8888888888888888888888888888
	// ............88::::::::888:::8888888888888888888888888
	// ..........88888888::::8:::::::::::88888888888888888888
	// ........888.8::888888::::::::::::::::::88888888888...888
	// ...........88::::88888888::::8::::::::::88888888888....8
	// .........888888888888888888:8:::::::::::8888888888888
	// ........88888888888888888888::::::::::::888888888888888
	// ........8888888888888888888888:::::::::88888888888888888
	// .........8888888888888888888888:::::::8888888888888888888
	// ........8888888888888888::88888::::::888888888888888888888
	// ......88888888888888888:::88888:::::8888888888888888...8888
	// .....88888888888888888:::88888::::8::;o*8*o;888888888....88
	// ....88888888888888888:::8888:::::8:::::::::::88888888....8
	// ...88888888888888888::::88::::::8:;:::::::::::888888888
	// ..8888888888888888888:::8::::::8::aAa::::::::88888888888.......8
	// ..88...8888888888::88::::8::::8:::::::::::::888888888888888.8888
	// .88..88888888888:::8:::::::::8::::::::::;::88:88888888888888888
	// .8..8888888888888:::::::::::8::'@@@@@@@'::::8w8888888888888888
	// ..88888888888:888::::::::::8:::::'@a@':::::88i888888888888888
	// .8888888888::::88:::::::::888:::::::::::::888z88888888888888888
	// 8888888888:::::8:::::::::888888:::::::::88888!888888888888888888
	// 888888888:::::8:::::::::888888888A888A8V88888*88888888...88888888
	// 888888.8:::::::::::::::8888888888:::::::8888888888888888...8888888
	// 8888...8::::::::::::::888888888888::::::88888888888888888....88888
	// .888...8:::::::::::::888888888888888:::::88888888888888888....8888
	// ..888..8::::::::::::88888:888888888888::::8::8888888.888888...8888
	// ...88..8::::::::::::8888:88888888888888888::::::888...88888...888
	// ...88..8::::::::::88888::88888::888888888888:::::::8888888....88
	// ...8...88::::::::88888:::8888:::::888888888888::::::::888.....4
	// .......88:::::::88888:::::888:::::::88:::8888888::::::::88....2
	// ......8888:::::88888:::::::88::::::::8:::::888888:::8:::::8
	// .....88888:::::88888::::::::8:::::::::::8::::8888::::8::::8
	// ....888888:::::88:8::::::::::8:::::::::::8:::8888::::::8::8
	// ...88.88888:::888:8:::::::::::::::::::::::8:8888:::::::::8:
	// ...8.888888:::88::8:::::::::::::::::::::::88:88::::::::::::8
	// .....888888:::88::8::::::::::*88*::::::::::8:88::::::::::::::8
	// ....8888888:::88::8:::::::::88@@88:::::::::8::88::::::::::::::8
	// ....88888888::88::88::::::::88@@88:::::::::8:::8::::::::::::::*8
	// ....88888..8:::8::88:::::::::*88*::::::::::8:::::::::::::::::88@@
	// ....8888...88::::::88:::::::::::::::::::::88:::::::::::::::::88@@
	// .....888....8:::::::88:::::::::::::::::::88::8::::::::::::::::*8
	// .....888....88:::::::888::::::::::::::::88:::88:::::::::::::::8
	// ......88.....8::::::::8888:::::::::::8888:::::88::::::::::::88
	// .......88....88:::::::::888888888888888::::::::88:::::::::88
	// ........88....88::::::::::::8888888::::::::::::::888888888
	// .........88...888::::::::::::::::::::::::::::::::::888888
	// ..........8...8888::::::::::::::::::::::8:::8::::::::88
	// ..............88888::::::::::::::::::88::::::88::::::88
	// .............8888888:::::::::::::::888:::::::88:::::88
	// .............88888888:::::::::::::888:::::::::888:::8
	// ............8888888888:::::::::::888:::::::::::88:::8
	// ...........88.88888888:::::::::888::::::::::::::8:::8
	// ...........8..888888.8:::::::88:::::::::::::::::8:::8:
	// ..............888888.8::::::8:::::::::::::::::::8:::88
	// .............888888..8:::::8::::::::::::::::::::::::8:8
	// .............888888..8:::::8:::::::::@::::::::::::::8::8
	// .............88888...8::::::::::::::@@:::::::::::::::8::8
	// ............88888...8::::::::::::::@@@::::::::::::::::8::8
	// ...........88888...8:::::::::::::::@@::::::::::::::::::8::8
	// ..........88888...8:::::8::::::::::@::::::::::88:::::::8:::8
	// ..........8888...8:::::8:::::::::::::::::::::::88:::::::8:::8
	// .........8888...8:::::8:::::::::::::::::::::::888::::::::8:::8
	// ........888....8:::::88::::::::::::::::::::::888:::::::::8::::8
	// ......8888....88::::88:::::::::::::::::::::8888:::::::::8::8:::8
	// .....888......8:::::8::::::::::::::::::::888::::::::::::8::88:::8
	// ..8888.......88:::::::::::::::::::::::::88:::::::::::::88::88:::8:
	// .............8:::::::::::::::::::::::::8:::::::::::::::88::88:::88
	// ............88::::::8:::::::::::::::::::::::::::::::::::8::88:::88
	// ............8::::::::8:::::::::::::::::::::::::::::::::::8::8:::88
	// ...........88:::::::::8:::::::::::::8:::::::::::::::::::::8:8:::88
	// ...........8:::::::::::888:::::::::8:::::::::::::::::::::::88::888
	// ...........8::::::::::::88888888888::::::::::::::::::::::::88::88
	// ...........8:::::::::::::888888888:::::::::::::::::::::::::8::88
	// ...........8::::::::::::::8888888:::::::::::::::::::::::::8::88
	// ...........8:::::::::::::::888888:::::::::::::::::::::::::8:88
	// ...........8:::::::::::::::::888::::::::::::::::::::::::::888
	// ...........8:::::::::::::::::::8::::::::::::::::::::::::::888
	// ...........88:::::::::::::::::8::::::::::::::::::::::::::888
	// ............8:::::::::::::::::8::::::::::::::::::::::::::888
	// ............88:::::::::::::::8::::::::::::::::::::::::::888
	// .............8:::::::::::::::8:::::::::::::::::::::::::888
	// .............88:::::::::::::8:::::::::::::::::::::::::888
	// ..............8:::::::::::::8::::::::::::::::::::::::888
	// ..............88:::::::::::8::::::::::::::::::::::::888
	// ...............8:::::::::::8:::::::::::::::::::::::888
	// ...............88:::::::::8:::::::::::::::::::::::888
	// ................8:::::::::8::::::::::::::::::::::888
	// ................88:::::::8::::::::::::::::::::::888
	// .................88::::::8:::::::::::::::::::::888
	// .................88:::::8:::::::::::::::::::::888
	// ..................88::::8::::::::::::::::::::888
	// ..................88:::8::::::::::::::::::::888
	// ...................88::8:::::::::::::::::::888
	// ...................88:8:::::::::::::::::::888
	// ....................888::::::::::::::::::888
	// ....................88::::::::::::::::::888
	// .....................8:::::::::::::::::888
	// ....................88::::::::::::::::888
	// ....................88:::::::::::::::888
	// ....................88::::8:::::::::888:
	// ....................888::::88:::::::8888
	// .....................888:::::::::::888:8
	// .....................888:::8:::::::8:8:8
	// ......................88::8888:::::::8:8
	// ......................88::888::::::::8:8
	// ......................888::88::::::::8:8
	// .......................88::88:::::::::8:8
	// .......................88::88::::::::::8:8
	// .......................88:::8:::::::::::88
	// .......................888:::::::::::::::8:
	// .......................888:::::::::::::::8:
	// .......................888::::::::::::::::8
	// .......................888::::::::::::::::8
	// .......................888::::::::::::::::88
	// ........................88::::::::::::::::88
	// ........................888:::::::::::::::88
	// ........................888:::::::::::::::88
	// ........................888:::::::::::::::88
	// ........................888:::::::::::::::88
	// .........................88::::::::::::::888
	// .........................888:::::::::::::88
	// .........................888:::::::::::::88
	// .........................888::::::::::::88
	// ..........................88::::::::::::88
	// ..........................88::::::::::::88
	// ..........................88:::::::::::88
	// ..........................888::::::::::88
	// ..........................888::::::::::88
	// ...........................88:::::::::88
	// ...........................888::::::::88
	// ...........................888::::::::88
	// ............................88::::::::88
	// ............................888::::::88
	// ............................888::::::88
	// ..............................88:::::88:
	// ..............................88:::::8:8
	// ..............................88:::::8:8
	// ..............................:8::::::8:
	// .............................8:8:::::::8
	// ............................8:::8::::::8
	// ...........................8::::8::::::8
	// ..........................8:::::8:::::::8
	// .........................8::::::88:::::::8
	// .........................8:::::::8::::::::8
	// .........................8;:;::::8:::::::::8
	// .........................8:8:;:::8::::::::::8
	// .........................88:8:8::8::8::8::8:88

	// --------------------美女保佑，永无Bug，不改需求，早点下班---------------------------------

	public static void main(String[] args) throws Exception {
		NoarkClassLoader classLoader = new NoarkClassLoader(NoarkLauncher.class.getClassLoader());
		NoarkManifest manifest = new NoarkManifest(classLoader);
		ClassUtils.invokeMain(manifest.getStartClass(), args);
	}
}